/*
 * @Description:
 * @Version:
 * @Author: Troubadour
 * @Date: 2022-09-03 16:52:27
 * @LastEditors: Troubadour
 * @LastEditTime: 2022-10-07 21:06:21
 */

#ifndef  __ROBOTARRAY_H__
#define  __ROBOTARRAY_H__

#include <Arduino.h>


/* 前进一步动作组 */
#define FOOT_PARAM      (40)
static uint16_t Run_Array[][7] = {
    // {500, 500, 500, 500, 500, 500, 150},
    {500 - FOOT_PARAM, 500, 500, 500 - FOOT_PARAM, 500, 500, 150},
    {500 - FOOT_PARAM, 556, 556, 500 - FOOT_PARAM, 556, 556, 150},
    {500, 556, 556, 500, 556, 556, 200},
    {500 + FOOT_PARAM, 556, 556, 500 + FOOT_PARAM, 556, 556, 200},
    {500 + FOOT_PARAM, 500, 500, 500 + FOOT_PARAM, 500, 500, 150},
    {500, 500, 500, 500, 500, 500, 300},
};


/* 后退一步动作组 */
#define BACK_PARAM      (30)
const uint16_t Back_Array[][7] = {
    {500 - BACK_PARAM, 500, 500, 500 - BACK_PARAM, 500, 500, 150},
    {500 - BACK_PARAM, 443, 443, 500 - BACK_PARAM, 443, 443, 150},
    {500, 443, 443, 500, 443, 443, 200},
    {500 + BACK_PARAM, 443, 443, 500 + BACK_PARAM, 443, 443, 200},
    {500 + BACK_PARAM, 500, 500, 500 + BACK_PARAM, 500, 500, 150},
    {500, 500, 500, 500, 500, 500, 300},
};


/* 左转动作组 */
#define LEFT_PARAM      (30)
const uint16_t LeftHanded_Array[][7] = {
    {500, 500, 500, 500, 500, 500, 150},
    {500 + LEFT_PARAM, 500, 500, 500 + LEFT_PARAM, 500, 500, 150},
    {500 + LEFT_PARAM, 424, 415, 500 + LEFT_PARAM, 424, 415, 200},
    {500, 424, 415, 500, 424, 415, 200},
    {500, 500, 500, 500, 500, 500, 200},
};

/* 右转动作组 */
#define RIGHT_PARAM      (30)
const uint16_t RightHanded_Array[][7] = {
    {500, 500, 500, 500, 500, 500, 150},
    {500 - RIGHT_PARAM, 500, 500, 500 - RIGHT_PARAM, 500, 500, 150},
    {500 - RIGHT_PARAM, 575, 584, 500 - RIGHT_PARAM, 575, 584, 200},
    {500, 575, 584, 500, 575, 584, 200},
    {500, 500, 500, 500, 500, 500, 200},
};

/* 立正动作组 */
const uint16_t Stand_Array[][7] = {
    {500, 500, 500, 500, 500, 500, 1000},
};

/* 前翻滚动作组 */
const uint16_t ForwardRoll_Array[][7] = {
    {500, 500 ,500, 500, 500, 500, 150},
    {500, 500, 865, 500, 500, 134, 400},
    {500, 199, 894, 500, 800, 105, 400},
    {500, 124, 894, 500, 875, 500, 120},
    {500, 124, 500, 500, 875, 500, 500},
    {500, 500, 500, 500, 500, 500, 500},
    {500, 875, 500, 500, 124, 500, 500},
    {500, 875, 200, 500, 124, 800, 400},
    {500, 875,  70, 500, 124, 930, 300},
    {500, 837,  70, 500, 162, 930, 100},
    {500, 500, 105, 500, 500, 894, 450},
    {500, 500, 500, 500, 500, 500, 400},
};

/* 后翻滚动作组 */
const uint16_t BackwardRoll_Array[][7] = {
    {500, 500, 500, 500, 500, 500, 150},
    {500, 500, 105, 500, 500, 894, 400},
    {500, 800, 105, 500, 199, 894, 400},
    {500, 875, 105, 500, 124, 894, 120},
    {500, 875, 500, 500, 124, 500, 500},
    {500, 500, 500, 500, 500, 500, 500},
    {500, 124, 500, 500, 875, 500, 500},
    {500, 124, 800, 500, 875, 200, 400},
    {500, 124, 961, 500, 875,  38, 300},
    {500, 162, 922, 500, 837,  77, 100},
    {500, 500, 922, 500, 500,  77, 400},
    {500, 500, 500, 500, 500, 500, 400},
};

/* 下蹲动作组 */
const uint16_t Crouch_Array[][7] = {
    {500, 500, 500, 500, 500, 500, 150},
    {500, 800, 850, 500, 200, 150, 1000},
};

#endif  /* __ROBOTARRAY_H__ */
